home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / utilities / exdat100.lha / xd / xdtest.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-28  |  1.6 KB  |  62 lines

  1.  
  2. #include "xd.h"
  3.  
  4. int
  5. main(int argc, char **argv)
  6. {
  7.    Xd_Database xd;
  8.    int a = 24, b = 23, h = 180;
  9.    char *name;
  10.  
  11.    xd_Init();
  12.    if (argc == 1) {
  13.       printf("writing file \"test\"... (call 'xdtest 1' to re-read it)\n");
  14.       xd = xd_Open("test", XD_WRITE, "xdtest");
  15.       xd_DeclareApplication(xd, "xdtestApplication");
  16.       if (xd) {
  17.      xd_DeclareField(xd, "name", XD_STRING);
  18.      xd_DeclareField(xd, "age", XD_INTEGER);
  19.      xd_DeclareField(xd, "height", XD_INTEGER);
  20.  
  21.      xd_DeclareSharedString(xd, "info", "General information");
  22.  
  23.      xd_AssignField(xd, "name", "Cedric");
  24.      xd_AssignField(xd, "age", & a);
  25.      xd_AssignField(xd, "height", & h);
  26.      xd_WriteRecord(xd);
  27.  
  28.      h = 185;
  29.      xd_AssignField(xd, "name", "Alois");
  30.      xd_AssignField(xd, "age", & b);
  31.      xd_AssignField(xd, "height", & h);
  32.      xd_WriteRecord(xd);
  33.      
  34.      xd_Close(xd);
  35.       }
  36.    }
  37.    else {
  38.       char *info;
  39.       printf("reading test...\n");
  40.       xd = xd_Open("test", XD_READ, "xdtest");
  41.       printf("type of this file: '%s'\n", xd_ReadType(xd));
  42.       printf("application of this file: '%s'\n", xd_ReadApplication(xd));
  43.       if (xd) {
  44.      xd_ReadSharedString(xd, "info", & info);
  45.      printf("Shared information: '%s'\n", info);
  46.      xd_ReadSharedString(xd, "info2", & info);
  47.      while (xd_NextRecord(xd)) {
  48.         name = "default";
  49.         a = 42;
  50.         h = 42;
  51.         xd_ReadField(xd, "age", XD_INTEGER, & a);
  52.         xd_ReadField(xd, "name", XD_STRING, & name);
  53.         xd_ReadField(xd, "height", XD_INTEGER, & h);
  54.         printf("read name=%s age=%x height=%x\n", name, a, h);
  55.      }
  56.      xd_Close(xd);
  57.       }
  58.    }
  59.    xd_Uninit(xd);
  60.    return 0;
  61. }
  62.